package com.coocaa.ops.admin.v1.auth.sys.service;

import com.coocaa.ops.admin.v1.auth.sys.model.query.SysRoleModel;
import com.coocaa.ops.common.core.biz.auth.entity.SysRoleEntity;
import com.coocaa.ops.common.core.biz.auth.entity.SysUserEntity;

import java.util.List;
import java.util.Map;

/**
 * @author bijiahao
 * @date : 2019/3/11.
 * @description: 系统角色 service接口
 *
 */
public interface ISysRoleService {
    /**
     * 获取 角色的操作权限
     *
     * @param roleId
     * @return
     */
    String getMenuAuths(Integer roleId);

    /**
     * 更新角色的操作权限
     *
     * @param roleId
     * @param menuRuns
     */
    void updateRoleAuth(Integer roleId, List<Map<String, Integer>> menuRuns);

    /**
     * 保存
     *
     * @param entity
     * @param userId
     */
    void save(SysRoleEntity entity, Integer userId);


    /**
     * 获取详情信息
     *
     * @param id
     * @return
     */
    SysRoleEntity getDetailInfo(Integer id);

    /**
     * 获取分页数据
     *
     * @param model
     * @return
     */
    Map<String, Object> getPageResult(SysRoleModel model);

    /**
     * 更新排序
     *
     * @param id
     * @param seq
     */
    void updateSeq(Integer id, Integer seq);

    /**
     * 查看角色对应的用户信息
     *
     * @param roleId
     * @return
     */
    Map<String, Object> listUserByRoleId(Integer roleId);

    /**
     * 批量删除
     *
     * @param ids
     * @param user
     * @return
     */
    Map deleteBatch(Integer[] ids, SysUserEntity user);

}
